const Koa = require('koa')
const app = new Koa()
app.listen(8000, () => console.log('koa 服务启动'))


/**
 *  中间件说明
 *      当创建多个中间件时、上一个中间件如果没有使用 next() 放行，则下一个就不会执行
 */
app.use((ctx, next) => {
    console.log('中间件-1', ctx.query);
    next() // 如果不使用 next() 中间件-2 将不会执行
    ctx.body = '中间件-1' // 返回响应对象 只会按照第一个中间件 进行返回
})

app.use((ctx, next) => {
    console.log(ctx);
    console.log('中间件-2', ctx.query);
})

/**
 *  中间件说明
 *      koa 只提供了 use 注册中间件的方式、没有其他例如 get post 方法、并且在use中间件中，只能传递一个回调函数
 *      所以问题来了：如何去请求路径和请求方式呢？通过第三方依赖区分请求路径和请求方式：
 *      安装：npm install @koa/router
 *      导入：const KoaRouter = require('@koa/router')
 *      详情查看：03_koa_路由快速入门.js
 */
